package cn.zhf.shop.mapper;

import cn.zhf.shop.entity.Orders;
import cn.zhf.shop.entity.count.CountOders;import cn.zhf.shop.entity.count.CountOdersNumber;import cn.zhf.shop.entity.search.OrderSearch;import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Param;import java.math.BigDecimal;import java.util.Date;import java.util.List;

@Mapper
public interface OrdersMapper {
    int deleteByPrimaryKey(String id);

    int insert(Orders record);

    int insertSelective(Orders record);

    Orders selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(Orders record);

    int updateByPrimaryKey(Orders record);

    List<Orders> selectAll();

    List<Orders> selectByUserId(@Param("userId") String userId);

    List<Orders> selectByState(@Param("state") Integer state);

    List<Orders> selectByCampusName(@Param("campusName") String campusName);

    List<Orders> selectByOrgName(@Param("orgName") String orgName);

    List<Orders> selectByOrgNameAndState(@Param("orgName") String orgName, @Param("state") Integer state);

    List<Orders> selectByStateAndUserId(@Param("state") Integer state, @Param("userId") String userId);

    int payOrder(@Param("orderId") String orderId);

    List<Orders> selectByUserIdPayed(@Param("userId") String userId);

    float selectTotailByOrdId(@Param("userId") String userId);

    List<Orders> selectByReferenceId(@Param("referenceId") String referenceId);

    List<Orders> selectByHandIdCam(@Param("head") String head);

    List<Orders> selectByHandIdOrg(@Param("head") String head);

    Integer countByOrgName(@Param("orgName") String orgName);

    List<BigDecimal> selectTotalPriceByOrgName(@Param("orgName") String orgName);

    List<BigDecimal> selectTotalPriceByOrgNameAndState(@Param("orgName") String orgName, @Param("state") Integer state);

    List<Orders> selectBySearch1(@Param("lessonId") Integer lessonId, @Param("orgName") String orgName, @Param("campusName") String campusName, @Param("userName") String userName);

    List<Orders> selectBySearch2(String str);

    List<Orders> selectBySearch3(@Param("lessonId") Integer lessonId, @Param("orgName") String orgName, @Param("campusName") String campusName, @Param("userName") String userName, @Param("head") Integer head);

    List<Orders> selectBySearch4(@Param("str") String str, @Param("head") Integer head);

    List<Orders> selectBySearch5(@Param("lessonId") Integer lessonId, @Param("orgName") String orgName, @Param("campusName") String campusName, @Param("userName") String userName, @Param("referenceId") Integer referenceId);

    List<Orders> selectBySearch6(@Param("str") String str, @Param("referenceId") Integer referenceId);

    List<Orders> selectBySearch7(@Param("str") String str, @Param("orgName") String orgName);

    List<Orders> selectInWeeK(CountOders countOders);

    List<Orders> selectInWeeKByLessonId(CountOders countOders);

    List<Orders> selectInWeeKInCampus(CountOders countOders);

    List<Integer> selectNumberInWeek(CountOdersNumber countOdersNumber);

    List<Integer> selectNumberInWeekLesson(CountOdersNumber countOdersNumber);

    List<Orders> selectInMonth(CountOders countOders);

    List<Orders> selectInMonthLesson(CountOders countOders);

    List<Orders> selectInQuarter(CountOders countOders);

    List<Orders> selectInQuarterLesson(CountOders countOders);

    List<Orders> selectInYear(CountOders countOders);

    List<Orders> selectInYearLesson(CountOders countOders);

    int countByOrgNamefortj(@Param("orgName") String orgName);

    int countByOrgNameAndPayType(@Param("orgName") String orgName);

    List<Orders> selectByUserNameAndOrgNameAndCampusNameAndLessonIdAndPayType(OrderSearch orderSearch);

    List<Orders> selectByReferenceIdAndPayTypeAndPayTime(@Param("referenceId") Integer referenceId, @Param("payType") Integer payType, @Param("date1") Date date1, @Param("date2") Date date2);

    List<Orders> selectByReferenceIdAndPayType(@Param("referenceId") Integer referenceId, @Param("payType") Integer payType);

    List<Orders> selectByReferenceIdAndPayTime(@Param("referenceId") Integer referenceId, @Param("date1") Date date1, @Param("date2") Date date2);

    List<Orders> selectByPaytimeInWeek(@Param("referenceId") Integer referenceId, @Param("date") String date);

    List<Orders> selectByPaytimeInMonth(@Param("referenceId") Integer referenceId, @Param("date") String date);

    List<Orders> selectByPaytimeInQuarter(@Param("referenceId") Integer referenceId, @Param("date") String date);

    List<Orders> selectByPaytimeInYear(@Param("referenceId") Integer referenceId, @Param("date") String date);

    List<Orders> selectByCampusNameAndPayTimeAndPayType(@Param("campusName") String campusName, @Param("date1") Date date1, @Param("date2") Date date2, @Param("payType") Integer payType);

    List<Orders> selectByCampusNameAndPayTime(@Param("campusName") String campusName, @Param("date1") Date date1, @Param("date2") Date date2);
}